Connect to multiple instances of DOORS

Hello,

 

Currently I am stuck on how to connect to multiple instances of DOORS.  I am using C# to connect to doors and using the "runstr" method. 

But my problem is I cannot choose what instance of DOORS to execute the "runstr". it will run only in the first instance. 

Is there a way to run it in all running instances of DOORS?

 

Thanks!


BuyogChristian - Thu May 31 02:02:08 EDT 2018

Re: Connect to multiple instances of DOORS
Mathias Mamsch - Mon Jun 04 09:27:01 EDT 2018

In this case you should not resort to COM automation to access the DOORS client, but rather use a DXL Server started over the command line. This way you can control how you communicate with each of the clients. Apart from this if you insist about accessing different clients over COM you might want to read over the ROT (Running Objects Table), which could allow you to access the COM interface of a specific client (not sure if it will work though). Regards, Mathias

Re: Connect to multiple instances of DOORS
BuyogChristian - Tue Jun 05 22:18:17 EDT 2018

Mathias Mamsch - Mon Jun 04 09:27:01 EDT 2018

In this case you should not resort to COM automation to access the DOORS client, but rather use a DXL Server started over the command line. This way you can control how you communicate with each of the clients. Apart from this if you insist about accessing different clients over COM you might want to read over the ROT (Running Objects Table), which could allow you to access the COM interface of a specific client (not sure if it will work though). Regards, Mathias

Thank you for your reply, 

I have tried to read the ROT but it just gives me the same object type and still communicates to only once instance. 

 

Actually, I am creating a GUI Tool to connect to other open instances of DOORS and do some processing real time, The only way I did it now is through IPC which I need to start a connection from the other instances to the Tool which is troublesome for the users. 

 

I am not familiar with DXL server, how can you start it and how to communicate with it?

 

Thanks!

Re: Connect to multiple instances of DOORS
Mathias Mamsch - Fri Jun 08 04:30:57 EDT 2018

BuyogChristian - Tue Jun 05 22:18:17 EDT 2018

Thank you for your reply, 

I have tried to read the ROT but it just gives me the same object type and still communicates to only once instance. 

 

Actually, I am creating a GUI Tool to connect to other open instances of DOORS and do some processing real time, The only way I did it now is through IPC which I need to start a connection from the other instances to the Tool which is troublesome for the users. 

 

I am not familiar with DXL server, how can you start it and how to communicate with it?

 

Thanks!

I always wanted to create a stable open source DXL server. I started with a project called "DriveDOORS" which used IPC to communicate, but the problem is, that you need to be very careful to not run in a deadlock because of a blocking I/O call. At least in earlier versions of DOORS (not sure about current). For the DXL server there is even an example in the manual? In any case I would suggest to use a different communication method (e.g. files). They have builtin locking mechanisms, so you can synchronize communication very well. We used this approach for the DXL debugger which worked really well and goes without deadlocks and memory leaks.

Hope this helps, regards, Mathias